[INFO] cloning repository https://github.com/JE-FH/ai-shaell
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JE-FH/ai-shaell" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJE-FH%2Fai-shaell", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJE-FH%2Fai-shaell'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 16620db335f4dd9c00759fce9d9a9b8f56625533
[INFO] fixing JE-FH/ai-shaell against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJE-FH%2Fai-shaell" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JE-FH/ai-shaell
[INFO] finished tweaking git repo https://github.com/JE-FH/ai-shaell
[INFO] tweaked toml for git repo https://github.com/JE-FH/ai-shaell written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JE-FH/ai-shaell on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JE-FH/ai-shaell already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 38010ff99a57d8a3cf63ebb2900000506e92aec5257eb3ccc983ee515615bc17
[INFO] running `Command { std: "docker" "start" "38010ff99a57d8a3cf63ebb2900000506e92aec5257eb3ccc983ee515615bc17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "38010ff99a57d8a3cf63ebb2900000506e92aec5257eb3ccc983ee515615bc17" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "38010ff99a57d8a3cf63ebb2900000506e92aec5257eb3ccc983ee515615bc17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "38010ff99a57d8a3cf63ebb2900000506e92aec5257eb3ccc983ee515615bc17" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]    Compiling logos-codegen v0.14.4
[INFO] [stderr]     Checking rustyline v15.0.0
[INFO] [stderr]    Compiling logos-derive v0.14.4
[INFO] [stderr]     Checking logos v0.14.4
[INFO] [stderr]     Checking shaell v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `shaell`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs
[INFO] [stderr]  ::: /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/macros/mod.rs
[INFO] [stderr]  ::: src/lexer.rs
[INFO] [stderr]  ::: src/parser.rs
[INFO] [stderr]  ::: src/scope.rs
[INFO] [stderr]  ::: src/tests/lexer_tests.rs
[INFO] [stderr]  ::: src/tests/token_ast_tests.rs
[INFO] [stderr]  ::: src/token.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/token.rs:5:16
[INFO] [stderr]              |
[INFO] [stderr]            5 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]             --> src/token.rs:6:3
[INFO] [stderr]              |
[INFO] [stderr]            6 | #[logos(skip r"#[^\n]*")] // Skip single-line comments (# ...)
[INFO] [stderr]              |   ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            8 + #[derive(Logos)]
[INFO] [stderr]            9 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]             --> src/token.rs:7:3
[INFO] [stderr]              |
[INFO] [stderr]            7 | #[logos(skip r"/\*[^*]*\*+(?:[^/*][^*]*\*+)*/")] // Skip multi-line comments
[INFO] [stderr]              |   ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            8 + #[derive(Logos)]
[INFO] [stderr]            9 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:10:7
[INFO] [stderr]               |
[INFO] [stderr]            10 |     #[regex(r"[ \t\r\n]+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[token(";")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:16:7
[INFO] [stderr]               |
[INFO] [stderr]            16 |     #[token("if")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:18:7
[INFO] [stderr]               |
[INFO] [stderr]            18 |     #[token("then")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:20:7
[INFO] [stderr]               |
[INFO] [stderr]            20 |     #[token("else")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:22:7
[INFO] [stderr]               |
[INFO] [stderr]            22 |     #[token("end")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:24:7
[INFO] [stderr]               |
[INFO] [stderr]            24 |     #[token("while")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:26:7
[INFO] [stderr]               |
[INFO] [stderr]            26 |     #[token("do")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:28:7
[INFO] [stderr]               |
[INFO] [stderr]            28 |     #[token("foreach")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:30:7
[INFO] [stderr]               |
[INFO] [stderr]            30 |     #[token("for")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:32:7
[INFO] [stderr]               |
[INFO] [stderr]            32 |     #[token("in")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:34:7
[INFO] [stderr]               |
[INFO] [stderr]            34 |     #[token("return")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:36:7
[INFO] [stderr]               |
[INFO] [stderr]            36 |     #[token("break")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:38:7
[INFO] [stderr]               |
[INFO] [stderr]            38 |     #[token("fn")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:40:7
[INFO] [stderr]               |
[INFO] [stderr]            40 |     #[token("let")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:42:7
[INFO] [stderr]               |
[INFO] [stderr]            42 |     #[token("not")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:44:7
[INFO] [stderr]               |
[INFO] [stderr]            44 |     #[token("false")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:46:7
[INFO] [stderr]               |
[INFO] [stderr]            46 |     #[token("true")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:48:7
[INFO] [stderr]               |
[INFO] [stderr]            48 |     #[token("null")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:50:7
[INFO] [stderr]               |
[INFO] [stderr]            50 |     #[token("throw")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token("try")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:54:7
[INFO] [stderr]               |
[INFO] [stderr]            54 |     #[token("with")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:56:7
[INFO] [stderr]               |
[INFO] [stderr]            56 |     #[token("pipe")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:58:7
[INFO] [stderr]               |
[INFO] [stderr]            58 |     #[token("exec")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token("define_args")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:64:7
[INFO] [stderr]               |
[INFO] [stderr]            64 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:66:7
[INFO] [stderr]               |
[INFO] [stderr]            66 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:72:7
[INFO] [stderr]               |
[INFO] [stderr]            72 |     #[token("[")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:74:7
[INFO] [stderr]               |
[INFO] [stderr]            74 |     #[token("]")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:76:7
[INFO] [stderr]               |
[INFO] [stderr]            76 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:78:7
[INFO] [stderr]               |
[INFO] [stderr]            78 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[token("=>")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:84:7
[INFO] [stderr]               |
[INFO] [stderr]            84 |     #[token("**")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:88:7
[INFO] [stderr]               |
[INFO] [stderr]            88 |     #[token("/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:90:7
[INFO] [stderr]               |
[INFO] [stderr]            90 |     #[token("%")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:94:7
[INFO] [stderr]               |
[INFO] [stderr]            94 |     #[token("-")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:96:7
[INFO] [stderr]               |
[INFO] [stderr]            96 |     #[token("!")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:98:7
[INFO] [stderr]               |
[INFO] [stderr]            98 |     #[token("<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:100:7
[INFO] [stderr]                |
[INFO] [stderr]            100 |     #[token(">")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:102:7
[INFO] [stderr]                |
[INFO] [stderr]            102 |     #[token(">=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:104:7
[INFO] [stderr]                |
[INFO] [stderr]            104 |     #[token("<=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:106:7
[INFO] [stderr]                |
[INFO] [stderr]            106 |     #[token("==")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:108:7
[INFO] [stderr]                |
[INFO] [stderr]            108 |     #[token("!=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:110:7
[INFO] [stderr]                |
[INFO] [stderr]            110 |     #[token("&&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:112:7
[INFO] [stderr]                |
[INFO] [stderr]            112 |     #[token("||")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:114:7
[INFO] [stderr]                |
[INFO] [stderr]            114 |     #[token("=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:116:7
[INFO] [stderr]                |
[INFO] [stderr]            116 |     #[token("+=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:118:7
[INFO] [stderr]                |
[INFO] [stderr]            118 |     #[token("-=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:120:7
[INFO] [stderr]                |
[INFO] [stderr]            120 |     #[token("*=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:122:7
[INFO] [stderr]                |
[INFO] [stderr]            122 |     #[token("/=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:124:7
[INFO] [stderr]                |
[INFO] [stderr]            124 |     #[token("%=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:126:7
[INFO] [stderr]                |
[INFO] [stderr]            126 |     #[token("**=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:128:7
[INFO] [stderr]                |
[INFO] [stderr]            128 |     #[token("->")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:130:7
[INFO] [stderr]                |
[INFO] [stderr]            130 |     #[token("@")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:132:7
[INFO] [stderr]                |
[INFO] [stderr]            132 |     #[token("$")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:136:7
[INFO] [stderr]                |
[INFO] [stderr]            136 |     #[token("\"")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:138:7
[INFO] [stderr]                |
[INFO] [stderr]            138 |     #[token("${")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:140:7
[INFO] [stderr]                |
[INFO] [stderr]            140 |     #[token(r"\$")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:142:7
[INFO] [stderr]                |
[INFO] [stderr]            142 |     #[token(r"\\")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:144:7
[INFO] [stderr]                |
[INFO] [stderr]            144 |     #[token(r"\n")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/token.rs:148:7
[INFO] [stderr]                |
[INFO] [stderr]            148 |     #[regex(r"[0-9]+\.[0-9]+|[0-9]+", priority = 0, callback = |lex| lex.slice().parse::<f64>().unwrap_or(0.0))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/token.rs:151:7
[INFO] [stderr]                |
[INFO] [stderr]            151 |     #[regex(r"[a-zA-Z_.$][a-zA-Z0-9_.$]*", priority = 0, callback = |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]             --> src/lexer.rs:4:29
[INFO] [stderr]              |
[INFO] [stderr]            4 | pub fn lex(source: &str) -> TokenStream<'_> {
[INFO] [stderr]              |                             ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]              |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]             --> src/token.rs:8:1
[INFO] [stderr]              |
[INFO] [stderr]            8 | pub enum Token {
[INFO] [stderr]              | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:236:1
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:14:5
[INFO] [stderr]               |
[INFO] [stderr]            14 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:240:15
[INFO] [stderr]                |
[INFO] [stderr]            240 | impl<'source> TokenStream<'source> {
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:251:5
[INFO] [stderr]                |
[INFO] [stderr]            251 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied in `TokenStream<'source>`
[INFO] [stderr]               --> src/token.rs:248:28
[INFO] [stderr]                |
[INFO] [stderr]            248 | impl<'source> Iterator for TokenStream<'source> {
[INFO] [stderr]                |                            ^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'source>`, the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'source>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `Iterator`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:241:41
[INFO] [stderr]                |
[INFO] [stderr]            241 |     pub fn new(source: &'source str) -> Self {
[INFO] [stderr]                |                                         ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:251:13
[INFO] [stderr]                |
[INFO] [stderr]            251 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |             ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]             --> src/lexer.rs:5:5
[INFO] [stderr]              |
[INFO] [stderr]            5 |     TokenStream::new(source)
[INFO] [stderr]              |     ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]              |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]             --> src/token.rs:8:1
[INFO] [stderr]              |
[INFO] [stderr]            8 | pub enum Token {
[INFO] [stderr]              | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]             --> src/lexer.rs:5:5
[INFO] [stderr]              |
[INFO] [stderr]            5 |     TokenStream::new(source)
[INFO] [stderr]              |     ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]              |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]             --> src/token.rs:8:1
[INFO] [stderr]              |
[INFO] [stderr]            8 | pub enum Token {
[INFO] [stderr]              | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lexer.rs:10:18
[INFO] [stderr]               |
[INFO] [stderr]            10 |     let stream = TokenStream::new(source);
[INFO] [stderr]               |                  ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lexer.rs:10:18
[INFO] [stderr]               |
[INFO] [stderr]            10 |     let stream = TokenStream::new(source);
[INFO] [stderr]               |                  ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `TokenStream<'_>`
[INFO] [stderr]               --> src/lexer.rs:10:9
[INFO] [stderr]                |
[INFO] [stderr]             10 |     let stream = TokenStream::new(source);
[INFO] [stderr]                |         ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]                = note: all local variables must have a statically known size
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/parser.rs:14:22
[INFO] [stderr]               |
[INFO] [stderr]            14 |         let stream = TokenStream::new(source);
[INFO] [stderr]               |                      ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/parser.rs:14:22
[INFO] [stderr]               |
[INFO] [stderr]            14 |         let stream = TokenStream::new(source);
[INFO] [stderr]               |                      ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `TokenStream<'_>`
[INFO] [stderr]               --> src/parser.rs:14:13
[INFO] [stderr]                |
[INFO] [stderr]             14 |         let stream = TokenStream::new(source);
[INFO] [stderr]                |             ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]                = note: all local variables must have a statically known size
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:452:49
[INFO] [stderr]                |
[INFO] [stderr]            452 |                 && (self.tokens[self.pos].token == Token::Whitespace
[INFO] [stderr]                |                     --------------------------- ^^ ----------------- Token
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:453:52
[INFO] [stderr]                |
[INFO] [stderr]            453 |                     || self.tokens[self.pos].token == Token::Semicolon)
[INFO] [stderr]                |                        --------------------------- ^^ ---------------- Token
[INFO] [stderr]                |                        |
[INFO] [stderr]                |                        Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `Token` with `Token`
[INFO] [stderr]               --> src/parser.rs:460:27
[INFO] [stderr]                |
[INFO] [stderr]            460 |             if delimiters.contains(&self.tokens[self.pos].token) {
[INFO] [stderr]                |                           ^^^^^^^^ no implementation for `Token == Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:464:44
[INFO] [stderr]                |
[INFO] [stderr]            464 |             if self.tokens[self.pos].token == Token::DQuote {
[INFO] [stderr]                |                --------------------------- ^^ ------------- Token
[INFO] [stderr]                |                |
[INFO] [stderr]                |                Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:473:48
[INFO] [stderr]                |
[INFO] [stderr]            473 |                 && self.tokens[self.pos].token != Token::Whitespace
[INFO] [stderr]                |                    --------------------------- ^^ ----------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:474:48
[INFO] [stderr]                |
[INFO] [stderr]            474 |                 && self.tokens[self.pos].token != Token::Semicolon
[INFO] [stderr]                |                    --------------------------- ^^ ---------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `Token` with `Token`
[INFO] [stderr]               --> src/parser.rs:475:32
[INFO] [stderr]                |
[INFO] [stderr]            475 |                 && !delimiters.contains(&self.tokens[self.pos].token)
[INFO] [stderr]                |                                ^^^^^^^^ no implementation for `Token == Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:476:48
[INFO] [stderr]                |
[INFO] [stderr]            476 |                 && self.tokens[self.pos].token != Token::DQuote
[INFO] [stderr]                |                    --------------------------- ^^ ------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:540:49
[INFO] [stderr]                |
[INFO] [stderr]            540 |                 && (self.tokens[self.pos].token == Token::Whitespace
[INFO] [stderr]                |                     --------------------------- ^^ ----------------- Token
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:541:52
[INFO] [stderr]                |
[INFO] [stderr]            541 |                     || self.tokens[self.pos].token == Token::Semicolon)
[INFO] [stderr]                |                        --------------------------- ^^ ---------------- Token
[INFO] [stderr]                |                        |
[INFO] [stderr]                |                        Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `Token` with `Token`
[INFO] [stderr]               --> src/parser.rs:555:27
[INFO] [stderr]                |
[INFO] [stderr]            555 |             if delimiters.contains(&self.tokens[self.pos].token) {
[INFO] [stderr]                |                           ^^^^^^^^ no implementation for `Token == Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:563:44
[INFO] [stderr]                |
[INFO] [stderr]            563 |             if self.tokens[self.pos].token == Token::DQuote {
[INFO] [stderr]                |                --------------------------- ^^ ------------- Token
[INFO] [stderr]                |                |
[INFO] [stderr]                |                Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:575:48
[INFO] [stderr]                |
[INFO] [stderr]            575 |                 && self.tokens[self.pos].token != Token::Whitespace
[INFO] [stderr]                |                    --------------------------- ^^ ----------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `Token` with `Token`
[INFO] [stderr]               --> src/parser.rs:576:32
[INFO] [stderr]                |
[INFO] [stderr]            576 |                 && !delimiters.contains(&self.tokens[self.pos].token)
[INFO] [stderr]                |                                ^^^^^^^^ no implementation for `Token == Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:577:48
[INFO] [stderr]                |
[INFO] [stderr]            577 |                 && self.tokens[self.pos].token != Token::DQuote
[INFO] [stderr]                |                    --------------------------- ^^ ------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/parser.rs:621:33
[INFO] [stderr]                |
[INFO] [stderr]            621 |             let token = t.token.clone();
[INFO] [stderr]                |                                 ^^^^^ method not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:690:67
[INFO] [stderr]                |
[INFO] [stderr]            690 |             _ => unreachable!("Unexpected binary operator: {:?}", token),
[INFO] [stderr]                |                                                            ----   ^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                            |
[INFO] [stderr]                |                                                            required by a formatting parameter in this expression
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Debug)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:744:80
[INFO] [stderr]                |
[INFO] [stderr]            744 |                 if self.pos < self.tokens.len() && self.tokens[self.pos].token == Token::LCurl {
[INFO] [stderr]                |                                                    --------------------------- ^^ ------------ Token
[INFO] [stderr]                |                                                    |
[INFO] [stderr]                |                                                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/parser.rs:850:53
[INFO] [stderr]                |
[INFO] [stderr]            850 |             let token = self.tokens[self.pos].token.clone();
[INFO] [stderr]                |                                                     ^^^^^ method not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Option<&Token>`
[INFO] [stderr]               --> src/parser.rs:867:54
[INFO] [stderr]                |
[INFO] [stderr]            867 |                     if self.peek().map(|t| &t.token) == Some(&Token::RCurl) {
[INFO] [stderr]                |                        ----------------------------- ^^ ------------------- Option<&Token>
[INFO] [stderr]                |                        |
[INFO] [stderr]                |                        Option<&Token>
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/parser.rs:964:33
[INFO] [stderr]                |
[INFO] [stderr]            964 |             let token = t.token.clone();
[INFO] [stderr]                |                                 ^^^^^ method not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1003:18
[INFO] [stderr]                 |
[INFO] [stderr]            1003 |             if t != &Token::Whitespace && t != &Token::Semicolon {
[INFO] [stderr]                 |                - ^^ ------------------ &Token
[INFO] [stderr]                 |                |
[INFO] [stderr]                 |                &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1003:45
[INFO] [stderr]                 |
[INFO] [stderr]            1003 |             if t != &Token::Whitespace && t != &Token::Semicolon {
[INFO] [stderr]                 |                                           - ^^ ----------------- &Token
[INFO] [stderr]                 |                                           |
[INFO] [stderr]                 |                                           &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1012:36
[INFO] [stderr]                 |
[INFO] [stderr]            1012 |                 Some(t) => t.token != Token::Whitespace && t.token != Token::Semicolon,
[INFO] [stderr]                 |                            ------- ^^ ----------------- Token
[INFO] [stderr]                 |                            |
[INFO] [stderr]                 |                            Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1012:68
[INFO] [stderr]                 |
[INFO] [stderr]            1012 |                 Some(t) => t.token != Token::Whitespace && t.token != Token::Semicolon,
[INFO] [stderr]                 |                                                            ------- ^^ ---------------- Token
[INFO] [stderr]                 |                                                            |
[INFO] [stderr]                 |                                                            Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1015:23
[INFO] [stderr]                 |
[INFO] [stderr]            1015 |                     t == &Token::Whitespace || t == &Token::Semicolon
[INFO] [stderr]                 |                     - ^^ ------------------ &Token
[INFO] [stderr]                 |                     |
[INFO] [stderr]                 |                     &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1015:50
[INFO] [stderr]                 |
[INFO] [stderr]            1015 |                     t == &Token::Whitespace || t == &Token::Semicolon
[INFO] [stderr]                 |                                                - ^^ ----------------- &Token
[INFO] [stderr]                 |                                                |
[INFO] [stderr]                 |                                                &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1024:38
[INFO] [stderr]                 |
[INFO] [stderr]            1024 |         self.peek().map(|t| &t.token == expected).unwrap_or(false)
[INFO] [stderr]                 |                             -------- ^^ -------- &Token
[INFO] [stderr]                 |                             |
[INFO] [stderr]                 |                             &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1030:45
[INFO] [stderr]                 |
[INFO] [stderr]            1030 |             && (self.tokens[self.pos].token == Token::Whitespace
[INFO] [stderr]                 |                 --------------------------- ^^ ----------------- Token
[INFO] [stderr]                 |                 |
[INFO] [stderr]                 |                 Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1031:48
[INFO] [stderr]                 |
[INFO] [stderr]            1031 |                 || self.tokens[self.pos].token == Token::Semicolon)
[INFO] [stderr]                 |                    --------------------------- ^^ ---------------- Token
[INFO] [stderr]                 |                    |
[INFO] [stderr]                 |                    Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1061:40
[INFO] [stderr]                 |
[INFO] [stderr]            1061 |             && (self.tokens[pos].token == Token::Whitespace
[INFO] [stderr]                 |                 ---------------------- ^^ ----------------- Token
[INFO] [stderr]                 |                 |
[INFO] [stderr]                 |                 Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1062:43
[INFO] [stderr]                 |
[INFO] [stderr]            1062 |                 || self.tokens[pos].token == Token::Semicolon)
[INFO] [stderr]                 |                    ---------------------- ^^ ---------------- Token
[INFO] [stderr]                 |                    |
[INFO] [stderr]                 |                    Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> src/parser.rs:1074:13
[INFO] [stderr]                 |
[INFO] [stderr]            1073 |             "expect({:?}): position {} is past end (len {})",
[INFO] [stderr]                 |                     ---- required by this formatting parameter
[INFO] [stderr]            1074 |             expected,
[INFO] [stderr]                 |             ^^^^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(Debug)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> src/parser.rs:1085:17
[INFO] [stderr]                 |
[INFO] [stderr]            1084 |                 "expect({:?}) did not advance position",
[INFO] [stderr]                 |                         ---- required by this formatting parameter
[INFO] [stderr]            1085 |                 expected
[INFO] [stderr]                 |                 ^^^^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(Debug)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/token.rs:231:5
[INFO] [stderr]                |
[INFO] [stderr]            229 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]                |          ----- in this derive macro expansion
[INFO] [stderr]            230 | pub struct SpannedToken {
[INFO] [stderr]            231 |     pub token: Token,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Debug)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]               --> src/token.rs:231:5
[INFO] [stderr]                |
[INFO] [stderr]            229 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]                |                 ----- in this derive macro expansion
[INFO] [stderr]            230 | pub struct SpannedToken {
[INFO] [stderr]            231 |     pub token: Token,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Clone)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/token.rs:231:5
[INFO] [stderr]                |
[INFO] [stderr]            229 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]                |                        --------- in this derive macro expansion
[INFO] [stderr]            230 | pub struct SpannedToken {
[INFO] [stderr]            231 |     pub token: Token,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:242:9
[INFO] [stderr]                |
[INFO] [stderr]            242 |         TokenStream {
[INFO] [stderr]                |         ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/token.rs:243:27
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            243 |             lexer: Token::lexer(source),
[INFO] [stderr]                |                           ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:242:9
[INFO] [stderr]                |
[INFO] [stderr]            242 | /         TokenStream {
[INFO] [stderr]            243 | |             lexer: Token::lexer(source),
[INFO] [stderr]            244 | |         }
[INFO] [stderr]                | |_________^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]                = note: structs must have a statically known size to be initialized
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `Lexer<'source, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:252:20
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            252 |         self.lexer.next().map(|result| match result {
[INFO] [stderr]                |                    ^^^^ method cannot be called on `Lexer<'source, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:1
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `Lexer<'source, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `Lexer<'source, Token>: Iterator`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `Lexer<'source, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:255:34
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            255 |                 span: self.lexer.span().clone(),
[INFO] [stderr]                |                                  ^^^^ method cannot be called on `Lexer<'source, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `Lexer<'source, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:261:38
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            261 |                     span: self.lexer.span().clone(),
[INFO] [stderr]                |                                      ^^^^ method cannot be called on `Lexer<'source, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/tests/lexer_tests.rs:184:18
[INFO] [stderr]                |
[INFO] [stderr]            184 |     let stream = lex("let x = 5");
[INFO] [stderr]                |                  ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `TokenStream<'_>`
[INFO] [stderr]               --> src/tests/lexer_tests.rs:184:9
[INFO] [stderr]                |
[INFO] [stderr]            184 |     let stream = lex("let x = 5");
[INFO] [stderr]                |         ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]                = note: all local variables must have a statically known size
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/tests/token_ast_tests.rs:115:17
[INFO] [stderr]                |
[INFO] [stderr]            115 |     let t2 = t1.clone();
[INFO] [stderr]                |                 ^^^^^ method not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/tests/token_ast_tests.rs:116:5
[INFO] [stderr]                |
[INFO] [stderr]            116 |     assert_eq!(t1, t2);
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Debug)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/tests/token_ast_tests.rs:117:5
[INFO] [stderr]                |
[INFO] [stderr]            117 |     assert_ne!(t1, Token::Number(42.0));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     Token
[INFO] [stderr]                |     Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/tests/token_ast_tests.rs:117:5
[INFO] [stderr]                |
[INFO] [stderr]            117 |     assert_ne!(t1, Token::Number(42.0));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Debug)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/tests/token_ast_tests.rs:117:5
[INFO] [stderr]                |
[INFO] [stderr]            117 |     assert_ne!(t1, Token::Number(42.0));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope.rs:198:30
[INFO] [stdout]     |
[INFO] [stdout] 198 |             if let Ok(ctx) = scope.try_borrow() {
[INFO] [stdout]     |                       ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |      |
[INFO] [stdout]     |                       |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `ctx` calls a custom destructor
[INFO] [stdout]     |                       `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              8 + #[derive(Debug)]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope.rs:208:34
[INFO] [stdout]     |
[INFO] [stdout] 208 |             if let Ok(mut ctx) = scope.try_borrow_mut() {
[INFO] [stdout]     |                       -------    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |          |
[INFO] [stdout]     |                       |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `ctx` calls a custom destructor
[INFO] [stdout]     |                       `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 211 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/gc.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if let Some(ref x) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/gc.rs:162:16
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if let Some(ref x) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 162 -         if let Some(ref x) = self {
[INFO] [stdout] 162 +         if let Some(x) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/gc.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |         if let Some(ref mut x) = self {
[INFO] [stdout]     |                     ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/gc.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |         if let Some(ref mut x) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 169 -         if let Some(ref mut x) = self {
[INFO] [stdout] 169 +         if let Some(x) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let obj = &*(data as *const T);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | unsafe fn trace_thunk<T: Trace>(data: *const u8, visit: &mut dyn FnMut(usize)) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:221:20
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let obj = &mut *(data as *mut T);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | unsafe fn remap_thunk<T: Remap>(data: *mut u8, map: &[(usize, usize)]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         buf.as_mut_ptr().add(offset + OFF_DATA)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 358 |     unsafe fn data_ptr_mut(buf: &mut [u8], offset: usize) -> *mut u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/tests/token_ast_tests.rs:142:18
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            142 |     let stream = TokenStream::new("let x = 42");
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |                  ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/tests/token_ast_tests.rs:142:18
[INFO] [stderr]                |
[INFO] [stderr]            142 |     let stream = TokenStream::new("let x = 42");
[INFO] [stderr]                |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `TokenStream<'_>`
[INFO] [stderr]               --> src/tests/token_ast_tests.rs:142:9
[INFO] [stderr]                |
[INFO] [stderr]            142 |     let stream = TokenStream::new("let x = 42");
[INFO] [stderr]                |         ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]                = note: all local variables must have a statically known size
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/scope.rs:198:30
[INFO] [stderr]                |
[INFO] [stderr]            198 |             if let Ok(ctx) = scope.try_borrow() {
[INFO] [stderr]                |                       ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |      |
[INFO] [stderr]                |                       |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                       |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                       `ctx` calls a custom destructor
[INFO] [stderr]                |                       `ctx` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            201 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stderr]            note: `ctx` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/scope.rs:208:34
[INFO] [stderr]                |
[INFO] [stderr]            208 |             if let Ok(mut ctx) = scope.try_borrow_mut() {
[INFO] [stderr]                |                       -------    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |          |
[INFO] [stderr]                |                       |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                       |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                       `ctx` calls a custom destructor
[INFO] [stderr]                |                       `ctx` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            211 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stderr]            note: `ctx` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 138 previous errors; 2 warnings emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr] error: errors present after applying fixes to crate `shaell`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs
[INFO] [stderr]  ::: src/lexer.rs
[INFO] [stderr]  ::: src/parser.rs
[INFO] [stderr]  ::: src/scope.rs
[INFO] [stderr]  ::: src/token.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/token.rs:5:16
[INFO] [stderr]              |
[INFO] [stderr]            5 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stderr]              |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]             --> src/token.rs:6:3
[INFO] [stderr]              |
[INFO] [stderr]            6 | #[logos(skip r"#[^\n]*")] // Skip single-line comments (# ...)
[INFO] [stderr]              |   ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            8 + #[derive(Logos)]
[INFO] [stderr]            9 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]             --> src/token.rs:7:3
[INFO] [stderr]              |
[INFO] [stderr]            7 | #[logos(skip r"/\*[^*]*\*+(?:[^/*][^*]*\*+)*/")] // Skip multi-line comments
[INFO] [stderr]              |   ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            8 + #[derive(Logos)]
[INFO] [stderr]            9 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/token.rs:10:7
[INFO] [stderr]               |
[INFO] [stderr]            10 |     #[regex(r"[ \t\r\n]+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[token(";")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:16:7
[INFO] [stderr]               |
[INFO] [stderr]            16 |     #[token("if")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:18:7
[INFO] [stderr]               |
[INFO] [stderr]            18 |     #[token("then")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:20:7
[INFO] [stderr]               |
[INFO] [stderr]            20 |     #[token("else")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:22:7
[INFO] [stderr]               |
[INFO] [stderr]            22 |     #[token("end")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:24:7
[INFO] [stderr]               |
[INFO] [stderr]            24 |     #[token("while")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:26:7
[INFO] [stderr]               |
[INFO] [stderr]            26 |     #[token("do")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:28:7
[INFO] [stderr]               |
[INFO] [stderr]            28 |     #[token("foreach")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:30:7
[INFO] [stderr]               |
[INFO] [stderr]            30 |     #[token("for")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:32:7
[INFO] [stderr]               |
[INFO] [stderr]            32 |     #[token("in")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:34:7
[INFO] [stderr]               |
[INFO] [stderr]            34 |     #[token("return")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:36:7
[INFO] [stderr]               |
[INFO] [stderr]            36 |     #[token("break")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:38:7
[INFO] [stderr]               |
[INFO] [stderr]            38 |     #[token("fn")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:40:7
[INFO] [stderr]               |
[INFO] [stderr]            40 |     #[token("let")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:42:7
[INFO] [stderr]               |
[INFO] [stderr]            42 |     #[token("not")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:44:7
[INFO] [stderr]               |
[INFO] [stderr]            44 |     #[token("false")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:46:7
[INFO] [stderr]               |
[INFO] [stderr]            46 |     #[token("true")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:48:7
[INFO] [stderr]               |
[INFO] [stderr]            48 |     #[token("null")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:50:7
[INFO] [stderr]               |
[INFO] [stderr]            50 |     #[token("throw")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token("try")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:54:7
[INFO] [stderr]               |
[INFO] [stderr]            54 |     #[token("with")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:56:7
[INFO] [stderr]               |
[INFO] [stderr]            56 |     #[token("pipe")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:58:7
[INFO] [stderr]               |
[INFO] [stderr]            58 |     #[token("exec")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token("define_args")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:64:7
[INFO] [stderr]               |
[INFO] [stderr]            64 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:66:7
[INFO] [stderr]               |
[INFO] [stderr]            66 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:72:7
[INFO] [stderr]               |
[INFO] [stderr]            72 |     #[token("[")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:74:7
[INFO] [stderr]               |
[INFO] [stderr]            74 |     #[token("]")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:76:7
[INFO] [stderr]               |
[INFO] [stderr]            76 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:78:7
[INFO] [stderr]               |
[INFO] [stderr]            78 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:82:7
[INFO] [stderr]               |
[INFO] [stderr]            82 |     #[token("=>")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:84:7
[INFO] [stderr]               |
[INFO] [stderr]            84 |     #[token("**")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:86:7
[INFO] [stderr]               |
[INFO] [stderr]            86 |     #[token("*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:88:7
[INFO] [stderr]               |
[INFO] [stderr]            88 |     #[token("/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:90:7
[INFO] [stderr]               |
[INFO] [stderr]            90 |     #[token("%")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:92:7
[INFO] [stderr]               |
[INFO] [stderr]            92 |     #[token("+")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:94:7
[INFO] [stderr]               |
[INFO] [stderr]            94 |     #[token("-")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:96:7
[INFO] [stderr]               |
[INFO] [stderr]            96 |     #[token("!")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/token.rs:98:7
[INFO] [stderr]               |
[INFO] [stderr]            98 |     #[token("<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             8 + #[derive(Logos)]
[INFO] [stderr]             9 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:100:7
[INFO] [stderr]                |
[INFO] [stderr]            100 |     #[token(">")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:102:7
[INFO] [stderr]                |
[INFO] [stderr]            102 |     #[token(">=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:104:7
[INFO] [stderr]                |
[INFO] [stderr]            104 |     #[token("<=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:106:7
[INFO] [stderr]                |
[INFO] [stderr]            106 |     #[token("==")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:108:7
[INFO] [stderr]                |
[INFO] [stderr]            108 |     #[token("!=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:110:7
[INFO] [stderr]                |
[INFO] [stderr]            110 |     #[token("&&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:112:7
[INFO] [stderr]                |
[INFO] [stderr]            112 |     #[token("||")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:114:7
[INFO] [stderr]                |
[INFO] [stderr]            114 |     #[token("=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:116:7
[INFO] [stderr]                |
[INFO] [stderr]            116 |     #[token("+=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:118:7
[INFO] [stderr]                |
[INFO] [stderr]            118 |     #[token("-=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:120:7
[INFO] [stderr]                |
[INFO] [stderr]            120 |     #[token("*=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:122:7
[INFO] [stderr]                |
[INFO] [stderr]            122 |     #[token("/=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:124:7
[INFO] [stderr]                |
[INFO] [stderr]            124 |     #[token("%=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:126:7
[INFO] [stderr]                |
[INFO] [stderr]            126 |     #[token("**=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:128:7
[INFO] [stderr]                |
[INFO] [stderr]            128 |     #[token("->")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:130:7
[INFO] [stderr]                |
[INFO] [stderr]            130 |     #[token("@")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:132:7
[INFO] [stderr]                |
[INFO] [stderr]            132 |     #[token("$")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:136:7
[INFO] [stderr]                |
[INFO] [stderr]            136 |     #[token("\"")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:138:7
[INFO] [stderr]                |
[INFO] [stderr]            138 |     #[token("${")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:140:7
[INFO] [stderr]                |
[INFO] [stderr]            140 |     #[token(r"\$")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:142:7
[INFO] [stderr]                |
[INFO] [stderr]            142 |     #[token(r"\\")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/token.rs:144:7
[INFO] [stderr]                |
[INFO] [stderr]            144 |     #[token(r"\n")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/token.rs:148:7
[INFO] [stderr]                |
[INFO] [stderr]            148 |     #[regex(r"[0-9]+\.[0-9]+|[0-9]+", priority = 0, callback = |lex| lex.slice().parse::<f64>().unwrap_or(0.0))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/token.rs:151:7
[INFO] [stderr]                |
[INFO] [stderr]            151 |     #[regex(r"[a-zA-Z_.$][a-zA-Z0-9_.$]*", priority = 0, callback = |lex| lex.slice().to_string())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Logos)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]             --> src/lexer.rs:4:29
[INFO] [stderr]              |
[INFO] [stderr]            4 | pub fn lex(source: &str) -> TokenStream<'_> {
[INFO] [stderr]              |                             ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]              |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]             --> src/token.rs:8:1
[INFO] [stderr]              |
[INFO] [stderr]            8 | pub enum Token {
[INFO] [stderr]              | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:236:1
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:14:5
[INFO] [stderr]               |
[INFO] [stderr]            14 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:240:15
[INFO] [stderr]                |
[INFO] [stderr]            240 | impl<'source> TokenStream<'source> {
[INFO] [stderr]                |               ^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:251:5
[INFO] [stderr]                |
[INFO] [stderr]            251 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied in `TokenStream<'source>`
[INFO] [stderr]               --> src/token.rs:248:28
[INFO] [stderr]                |
[INFO] [stderr]            248 | impl<'source> Iterator for TokenStream<'source> {
[INFO] [stderr]                |                            ^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'source>`, the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'source>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `Iterator`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:241:41
[INFO] [stderr]                |
[INFO] [stderr]            241 |     pub fn new(source: &'source str) -> Self {
[INFO] [stderr]                |                                         ^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]               --> src/token.rs:251:13
[INFO] [stderr]                |
[INFO] [stderr]            251 |     fn next(&mut self) -> Option<Self::Item> {
[INFO] [stderr]                |             ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]             --> src/lexer.rs:5:5
[INFO] [stderr]              |
[INFO] [stderr]            5 |     TokenStream::new(source)
[INFO] [stderr]              |     ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]              |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]             --> src/token.rs:8:1
[INFO] [stderr]              |
[INFO] [stderr]            8 | pub enum Token {
[INFO] [stderr]              | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]             --> src/lexer.rs:5:5
[INFO] [stderr]              |
[INFO] [stderr]            5 |     TokenStream::new(source)
[INFO] [stderr]              |     ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]              |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]             --> src/token.rs:8:1
[INFO] [stderr]              |
[INFO] [stderr]            8 | pub enum Token {
[INFO] [stderr]              | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lexer.rs:10:18
[INFO] [stderr]               |
[INFO] [stderr]            10 |     let stream = TokenStream::new(source);
[INFO] [stderr]               |                  ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lexer.rs:10:18
[INFO] [stderr]               |
[INFO] [stderr]            10 |     let stream = TokenStream::new(source);
[INFO] [stderr]               |                  ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `TokenStream<'_>`
[INFO] [stderr]               --> src/lexer.rs:10:9
[INFO] [stderr]                |
[INFO] [stderr]             10 |     let stream = TokenStream::new(source);
[INFO] [stderr]                |         ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]                = note: all local variables must have a statically known size
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/parser.rs:14:22
[INFO] [stderr]               |
[INFO] [stderr]            14 |         let stream = TokenStream::new(source);
[INFO] [stderr]               |                      ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/parser.rs:14:22
[INFO] [stderr]               |
[INFO] [stderr]            14 |         let stream = TokenStream::new(source);
[INFO] [stderr]               |                      ^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/token.rs:8:1
[INFO] [stderr]               |
[INFO] [stderr]             8 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `TokenStream<'_>`
[INFO] [stderr]               --> src/parser.rs:14:13
[INFO] [stderr]                |
[INFO] [stderr]             14 |         let stream = TokenStream::new(source);
[INFO] [stderr]                |             ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]                = note: all local variables must have a statically known size
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:452:49
[INFO] [stderr]                |
[INFO] [stderr]            452 |                 && (self.tokens[self.pos].token == Token::Whitespace
[INFO] [stderr]                |                     --------------------------- ^^ ----------------- Token
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:453:52
[INFO] [stderr]                |
[INFO] [stderr]            453 |                     || self.tokens[self.pos].token == Token::Semicolon)
[INFO] [stderr]                |                        --------------------------- ^^ ---------------- Token
[INFO] [stderr]                |                        |
[INFO] [stderr]                |                        Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `Token` with `Token`
[INFO] [stderr]               --> src/parser.rs:460:27
[INFO] [stderr]                |
[INFO] [stderr]            460 |             if delimiters.contains(&self.tokens[self.pos].token) {
[INFO] [stderr]                |                           ^^^^^^^^ no implementation for `Token == Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:464:44
[INFO] [stderr]                |
[INFO] [stderr]            464 |             if self.tokens[self.pos].token == Token::DQuote {
[INFO] [stderr]                |                --------------------------- ^^ ------------- Token
[INFO] [stderr]                |                |
[INFO] [stderr]                |                Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope.rs:198:30
[INFO] [stdout]     |
[INFO] [stdout] 198 |             if let Ok(ctx) = scope.try_borrow() {
[INFO] [stdout]     |                       ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |      |
[INFO] [stdout]     |                       |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `ctx` calls a custom destructor
[INFO] [stdout]     |                       `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/scope.rs:208:34
[INFO] [stdout]     |
[INFO] [stdout] 208 |             if let Ok(mut ctx) = scope.try_borrow_mut() {
[INFO] [stdout]     |                       -------    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |          |
[INFO] [stdout]     |                       |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `ctx` calls a custom destructor
[INFO] [stdout]     |                       `ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 211 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/gc.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if let Some(ref x) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/gc.rs:162:16
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if let Some(ref x) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 162 -         if let Some(ref x) = self {
[INFO] [stdout] 162 +         if let Some(x) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/gc.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |         if let Some(ref mut x) = self {
[INFO] [stdout]     |                     ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/gc.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |         if let Some(ref mut x) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 169 -         if let Some(ref mut x) = self {
[INFO] [stdout] 169 +         if let Some(x) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let obj = &*(data as *const T);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | unsafe fn trace_thunk<T: Trace>(data: *const u8, visit: &mut dyn FnMut(usize)) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:473:48
[INFO] [stderr]                |
[INFO] [stderr]            473 |                 && self.tokens[self.pos].token != Token::Whitespace
[INFO] [stderr]                |                    --------------------------- ^^ ----------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:474:48
[INFO] [stderr]                |
[INFO] [stderr]            474 |                 && self.tokens[self.pos].token != Token::Semicolon
[INFO] [stderr]                |                    --------------------------- ^^ ---------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `Token` with `Token`
[INFO] [stderr]               --> src/parser.rs:475:32
[INFO] [stderr]                |
[INFO] [stderr]            475 |                 && !delimiters.contains(&self.tokens[self.pos].token)
[INFO] [stderr]                |                                ^^^^^^^^ no implementation for `Token == Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:476:48
[INFO] [stderr]                |
[INFO] [stderr]            476 |                 && self.tokens[self.pos].token != Token::DQuote
[INFO] [stderr]                |                    --------------------------- ^^ ------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:540:49
[INFO] [stderr]                |
[INFO] [stderr]            540 |                 && (self.tokens[self.pos].token == Token::Whitespace
[INFO] [stderr]                |                     --------------------------- ^^ ----------------- Token
[INFO] [stderr]                |                     |
[INFO] [stderr]                |                     Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:221:20
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let obj = &mut *(data as *mut T);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | unsafe fn remap_thunk<T: Remap>(data: *mut u8, map: &[(usize, usize)]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         buf.as_mut_ptr().add(offset + OFF_DATA)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 358 |     unsafe fn data_ptr_mut(buf: &mut [u8], offset: usize) -> *mut u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, String, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/parser.rs:541:52
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/token.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]   |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            541 |                     || self.tokens[self.pos].token == Token::Semicolon)
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]                |                        --------------------------- ^^ ---------------- Token
[INFO] [stderr]                |                        |
[INFO] [stderr]                |                        Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `Token` with `Token`
[INFO] [stderr]               --> src/parser.rs:555:27
[INFO] [stderr]                |
[INFO] [stderr]            555 |             if delimiters.contains(&self.tokens[self.pos].token) {
[INFO] [stderr]                |                           ^^^^^^^^ no implementation for `Token == Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:563:44
[INFO] [stderr]                |
[INFO] [stderr]            563 |             if self.tokens[self.pos].token == Token::DQuote {
[INFO] [stderr]                |                --------------------------- ^^ ------------- Token
[INFO] [stderr]                |                |
[INFO] [stderr]                |                Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:575:48
[INFO] [stderr]                |
[INFO] [stderr]            575 |                 && self.tokens[self.pos].token != Token::Whitespace
[INFO] [stderr]                |                    --------------------------- ^^ ----------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: can't compare `Token` with `Token`
[INFO] [stderr]               --> src/parser.rs:576:32
[INFO] [stderr]                |
[INFO] [stderr]            576 |                 && !delimiters.contains(&self.tokens[self.pos].token)
[INFO] [stderr]                |                                ^^^^^^^^ no implementation for `Token == Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `PartialEq` is not implemented for `Token`
[INFO] [stderr]            note: required by a bound in `core::slice::<impl [T]>::contains`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/slice/mod.rs:2592:4
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:577:48
[INFO] [stderr]                |
[INFO] [stderr]            577 |                 && self.tokens[self.pos].token != Token::DQuote
[INFO] [stderr]                |                    --------------------------- ^^ ------------- Token
[INFO] [stderr]                |                    |
[INFO] [stderr]                |                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/parser.rs:621:33
[INFO] [stderr]                |
[INFO] [stderr]            621 |             let token = t.token.clone();
[INFO] [stderr]                |                                 ^^^^^ method not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:690:67
[INFO] [stderr]                |
[INFO] [stderr]            690 |             _ => unreachable!("Unexpected binary operator: {:?}", token),
[INFO] [stderr]                |                                                            ----   ^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                            |
[INFO] [stderr]                |                                                            required by a formatting parameter in this expression
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Debug)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/parser.rs:744:80
[INFO] [stderr]                |
[INFO] [stderr]            744 |                 if self.pos < self.tokens.len() && self.tokens[self.pos].token == Token::LCurl {
[INFO] [stderr]                |                                                    --------------------------- ^^ ------------ Token
[INFO] [stderr]                |                                                    |
[INFO] [stderr]                |                                                    Token
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/parser.rs:850:53
[INFO] [stderr]                |
[INFO] [stderr]            850 |             let token = self.tokens[self.pos].token.clone();
[INFO] [stderr]                |                                                     ^^^^^ method not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Option<&Token>`
[INFO] [stderr]               --> src/parser.rs:867:54
[INFO] [stderr]                |
[INFO] [stderr]            867 |                     if self.peek().map(|t| &t.token) == Some(&Token::RCurl) {
[INFO] [stderr]                |                        ----------------------------- ^^ ------------------- Option<&Token>
[INFO] [stderr]                |                        |
[INFO] [stderr]                |                        Option<&Token>
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/parser.rs:964:33
[INFO] [stderr]                |
[INFO] [stderr]            964 |             let token = t.token.clone();
[INFO] [stderr]                |                                 ^^^^^ method not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1003:18
[INFO] [stderr]                 |
[INFO] [stderr]            1003 |             if t != &Token::Whitespace && t != &Token::Semicolon {
[INFO] [stderr]                 |                - ^^ ------------------ &Token
[INFO] [stderr]                 |                |
[INFO] [stderr]                 |                &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1003:45
[INFO] [stderr]                 |
[INFO] [stderr]            1003 |             if t != &Token::Whitespace && t != &Token::Semicolon {
[INFO] [stderr]                 |                                           - ^^ ----------------- &Token
[INFO] [stderr]                 |                                           |
[INFO] [stderr]                 |                                           &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1012:36
[INFO] [stderr]                 |
[INFO] [stderr]            1012 |                 Some(t) => t.token != Token::Whitespace && t.token != Token::Semicolon,
[INFO] [stderr]                 |                            ------- ^^ ----------------- Token
[INFO] [stderr]                 |                            |
[INFO] [stderr]                 |                            Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1012:68
[INFO] [stderr]                 |
[INFO] [stderr]            1012 |                 Some(t) => t.token != Token::Whitespace && t.token != Token::Semicolon,
[INFO] [stderr]                 |                                                            ------- ^^ ---------------- Token
[INFO] [stderr]                 |                                                            |
[INFO] [stderr]                 |                                                            Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1015:23
[INFO] [stderr]                 |
[INFO] [stderr]            1015 |                     t == &Token::Whitespace || t == &Token::Semicolon
[INFO] [stderr]                 |                     - ^^ ------------------ &Token
[INFO] [stderr]                 |                     |
[INFO] [stderr]                 |                     &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1015:50
[INFO] [stderr]                 |
[INFO] [stderr]            1015 |                     t == &Token::Whitespace || t == &Token::Semicolon
[INFO] [stderr]                 |                                                - ^^ ----------------- &Token
[INFO] [stderr]                 |                                                |
[INFO] [stderr]                 |                                                &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&Token`
[INFO] [stderr]                --> src/parser.rs:1024:38
[INFO] [stderr]                 |
[INFO] [stderr]            1024 |         self.peek().map(|t| &t.token == expected).unwrap_or(false)
[INFO] [stderr]                 |                             -------- ^^ -------- &Token
[INFO] [stderr]                 |                             |
[INFO] [stderr]                 |                             &Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1030:45
[INFO] [stderr]                 |
[INFO] [stderr]            1030 |             && (self.tokens[self.pos].token == Token::Whitespace
[INFO] [stderr]                 |                 --------------------------- ^^ ----------------- Token
[INFO] [stderr]                 |                 |
[INFO] [stderr]                 |                 Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1031:48
[INFO] [stderr]                 |
[INFO] [stderr]            1031 |                 || self.tokens[self.pos].token == Token::Semicolon)
[INFO] [stderr]                 |                    --------------------------- ^^ ---------------- Token
[INFO] [stderr]                 |                    |
[INFO] [stderr]                 |                    Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1061:40
[INFO] [stderr]                 |
[INFO] [stderr]            1061 |             && (self.tokens[pos].token == Token::Whitespace
[INFO] [stderr]                 |                 ---------------------- ^^ ----------------- Token
[INFO] [stderr]                 |                 |
[INFO] [stderr]                 |                 Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]                --> src/parser.rs:1062:43
[INFO] [stderr]                 |
[INFO] [stderr]            1062 |                 || self.tokens[pos].token == Token::Semicolon)
[INFO] [stderr]                 |                    ---------------------- ^^ ---------------- Token
[INFO] [stderr]                 |                    |
[INFO] [stderr]                 |                    Token
[INFO] [stderr]                 |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]                --> src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 | pub enum Token {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(PartialEq)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> src/parser.rs:1074:13
[INFO] [stderr]                 |
[INFO] [stderr]            1073 |             "expect({:?}): position {} is past end (len {})",
[INFO] [stderr]                 |                     ---- required by this formatting parameter
[INFO] [stderr]            1074 |             expected,
[INFO] [stderr]                 |             ^^^^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(Debug)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]                --> src/parser.rs:1085:17
[INFO] [stderr]                 |
[INFO] [stderr]            1084 |                 "expect({:?}) did not advance position",
[INFO] [stderr]                 |                         ---- required by this formatting parameter
[INFO] [stderr]            1085 |                 expected
[INFO] [stderr]                 |                 ^^^^^^^^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                 |
[INFO] [stderr]                 = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                 = note: required for `&Token` to implement `Debug`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                -->  src/token.rs:8:1
[INFO] [stderr]                 |
[INFO] [stderr]               8 + #[derive(Debug)]
[INFO] [stderr]               9 | pub enum Token {
[INFO] [stderr]                 |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/token.rs:231:5
[INFO] [stderr]                |
[INFO] [stderr]            229 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]                |          ----- in this derive macro expansion
[INFO] [stderr]            230 | pub struct SpannedToken {
[INFO] [stderr]            231 |     pub token: Token,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Debug)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Clone` is not satisfied
[INFO] [stderr]               --> src/token.rs:231:5
[INFO] [stderr]                |
[INFO] [stderr]            229 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]                |                 ----- in this derive macro expansion
[INFO] [stderr]            230 | pub struct SpannedToken {
[INFO] [stderr]            231 |     pub token: Token,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `Token`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Clone)]`
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(Clone)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `Token`
[INFO] [stderr]               --> src/token.rs:231:5
[INFO] [stderr]                |
[INFO] [stderr]            229 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]                |                        --------- in this derive macro expansion
[INFO] [stderr]            230 | pub struct SpannedToken {
[INFO] [stderr]            231 |     pub token: Token,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]              8 + #[derive(PartialEq)]
[INFO] [stderr]              9 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/token.rs:242:9
[INFO] [stderr]                |
[INFO] [stderr]            242 |         TokenStream {
[INFO] [stderr]                |         ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]               --> src/token.rs:243:27
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            243 |             lexer: Token::lexer(source),
[INFO] [stderr]                |                           ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied in `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:242:9
[INFO] [stderr]                |
[INFO] [stderr]            242 | /         TokenStream {
[INFO] [stderr]            243 | |             lexer: Token::lexer(source),
[INFO] [stderr]            244 | |         }
[INFO] [stderr]                | |_________^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: within `TokenStream<'_>`, the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/token.rs:8:1
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required because it appears within the type `TokenStream<'_>`
[INFO] [stderr]               --> src/token.rs:236:12
[INFO] [stderr]                |
[INFO] [stderr]            236 | pub struct TokenStream<'source> {
[INFO] [stderr]                |            ^^^^^^^^^^^
[INFO] [stderr]                = note: structs must have a statically known size to be initialized
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `Lexer<'source, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:252:20
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            252 |         self.lexer.next().map(|result| match result {
[INFO] [stderr]                |                    ^^^^ method cannot be called on `Lexer<'source, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lexer.rs:13:1
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                | ------------------------------------------------ doesn't satisfy `Lexer<'source, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `Lexer<'source, Token>: Iterator`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `Lexer<'source, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:255:34
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            255 |                 span: self.lexer.span().clone(),
[INFO] [stderr]                |                                  ^^^^ method cannot be called on `Lexer<'source, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `span` exists for struct `Lexer<'source, Token>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/token.rs:261:38
[INFO] [stderr]                |
[INFO] [stderr]              8 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]            ...
[INFO] [stderr]            261 |                     span: self.lexer.span().clone(),
[INFO] [stderr]                |                                      ^^^^ method cannot be called on `Lexer<'source, Token>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.4/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/scope.rs:198:30
[INFO] [stderr]                |
[INFO] [stderr]            198 |             if let Ok(ctx) = scope.try_borrow() {
[INFO] [stderr]                |                       ---    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |      |
[INFO] [stderr]                |                       |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                       |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                       `ctx` calls a custom destructor
[INFO] [stderr]                |                       `ctx` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            201 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stderr]            note: `ctx` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]               --> src/scope.rs:208:34
[INFO] [stderr]                |
[INFO] [stderr]            208 |             if let Ok(mut ctx) = scope.try_borrow_mut() {
[INFO] [stderr]                |                       -------    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |                       |          |
[INFO] [stderr]                |                       |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                |                       |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]                |                       `ctx` calls a custom destructor
[INFO] [stderr]                |                       `ctx` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            211 |         }
[INFO] [stderr]                |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                |
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stderr]            note: `ctx` invokes this custom destructor
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stderr]                = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                = warning: this changes meaning in Rust 2024
[INFO] [stderr]                = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 128 previous errors; 2 warnings emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/ae_self_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/integration_tests.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.36s
[INFO] [stderr] crater-edition-check: shaell v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking shaell v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/gc.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if let Some(ref x) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/gc.rs:162:16
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if let Some(ref x) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 162 -         if let Some(ref x) = self {
[INFO] [stdout] 162 +         if let Some(x) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/gc.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |         if let Some(ref mut x) = self {
[INFO] [stdout]     |                     ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/gc.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |         if let Some(ref mut x) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 169 -         if let Some(ref mut x) = self {
[INFO] [stdout] 169 +         if let Some(x) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let obj = &*(data as *const T);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | unsafe fn trace_thunk<T: Trace>(data: *const u8, visit: &mut dyn FnMut(usize)) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:221:20
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let obj = &mut *(data as *mut T);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | unsafe fn remap_thunk<T: Remap>(data: *mut u8, map: &[(usize, usize)]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/gc.rs:162:21
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if let Some(ref x) = self {
[INFO] [stdout]     |                     ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/gc.rs:162:16
[INFO] [stdout]     |
[INFO] [stdout] 162 |         if let Some(ref x) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 162 -         if let Some(ref x) = self {
[INFO] [stdout] 162 +         if let Some(x) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/gc.rs:169:21
[INFO] [stdout]     |
[INFO] [stdout] 169 |         if let Some(ref mut x) = self {
[INFO] [stdout]     |                     ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/gc.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |         if let Some(ref mut x) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 169 -         if let Some(ref mut x) = self {
[INFO] [stdout] 169 +         if let Some(x) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let obj = &*(data as *const T);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout] 214 | unsafe fn trace_thunk<T: Trace>(data: *const u8, visit: &mut dyn FnMut(usize)) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:221:20
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let obj = &mut *(data as *mut T);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:220:1
[INFO] [stdout]     |
[INFO] [stdout] 220 | unsafe fn remap_thunk<T: Remap>(data: *mut u8, map: &[(usize, usize)]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         buf.as_mut_ptr().add(offset + OFF_DATA)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 358 |     unsafe fn data_ptr_mut(buf: &mut [u8], offset: usize) -> *mut u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/gc.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         buf.as_mut_ptr().add(offset + OFF_DATA)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/gc.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 358 |     unsafe fn data_ptr_mut(buf: &mut [u8], offset: usize) -> *mut u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `shaell` (lib) due to 2 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `shaell` (lib test) due to 2 previous errors; 3 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "38010ff99a57d8a3cf63ebb2900000506e92aec5257eb3ccc983ee515615bc17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38010ff99a57d8a3cf63ebb2900000506e92aec5257eb3ccc983ee515615bc17", kill_on_drop: false }`
[INFO] [stdout] 38010ff99a57d8a3cf63ebb2900000506e92aec5257eb3ccc983ee515615bc17
